package com.cy.pj.goods.dao;

import com.cy.pj.goods.pojo.Goods;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

import java.util.List;

/**
 * @author Cx
 * @stage secondStageOfWeb
 * @creat 2020-11-04 20:04
 * DAO层：DAO层主要是做数据持久层的工作，负责与数据库进行联络的一些任务都封装在此，
 * DAO层的设计首先是设计DAO的接口，然后在Spring的配置文件中定义此接口的实现类，
 * 然后就可在模块中调用此接口来进行数据业务的处理，而不用关心此接口的具体实现类是哪个类，
 * 显得结构非常清晰，DAO层的数据源配置，以及有关数据库连接的参数都在Spring的配置文件中进行配置。
 */
@Mapper
public interface GoodsDao {

    @Select("select * from tb_goods")
    List<Goods> findGoods();

//    @Select("<script>select id,name,remark,createdTime from tb_goods<if test=\"name!=null and name!=''\">where name like concat(\"%\",#{name},\"%\")</if></script>")
    List<Goods> findGoodsByName(String name);

    int deleteById(Integer id);

    int insertObject(Goods entity);

    @Select("select * from tb_goods where id=#{id}")
    Goods findById(Integer id);
    @Update("update tb_goods set name=#{name},remark=#{remark} where id=#{id}")
    int updateGoods(Goods goods);


}
